package com.sc.nft.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.entity.CurrentAffairs;
import com.sc.nft.entity.dto.CurrentAffairsAddDTO;
import com.sc.nft.entity.dto.CurrentAffairsAdminDTO;
import com.sc.nft.entity.dto.CurrentAffairsTypeDTO;
import com.sc.nft.entity.vo.CurrentAffairsAdminVO;
import com.sc.nft.entity.vo.CurrentAffairsDetailVo;
import com.sc.nft.entity.vo.CurrentAffairsDetailsVO;

/**
 * 时政要闻表服务接口
 *
 * @author zhangchao
 * @description 由 Mybatisplus Code Generator 创建
 * @since 2024-03-05 10:52:52
 */
public interface CurrentAffairsService {

    /**
     * 后台资讯列表
     *
     * @param currentAffairsAdminDTO
     * @return
     */

    Page<CurrentAffairsAdminVO> adminCurrentAffairsVoPage(CurrentAffairsAdminDTO currentAffairsAdminDTO);

    /**
     * 发布资讯
     *
     * @param currentAffairsAddVO
     */
    void currentAffairsAdd(CurrentAffairsAddDTO currentAffairsAddVO);

    /**
     * 后台资讯详情
     *
     * @param id
     * @return
     */
    CurrentAffairsDetailsVO currentAffairsAdminDetails(Long id);

    /**
     * 资讯详情
     *
     * @param id
     * @return
     */
    CurrentAffairsDetailVo currentAffairsDetails(Long id);

    /**
     * 资讯修改
     *
     * @param currentAffairs
     */
    void currentAffairsUpdate(CurrentAffairs currentAffairs);

    /**
     * 逻辑删除
     *
     * @param id
     */
    void currentAffairsDelete(Long id);

    /**
     * 展示开关
     *
     * @param id
     */
    void currentAffairsShow(Long id, Boolean switchRequest);

    /**
     * 推荐位开关
     *
     * @param id
     */
    void currentAffairsRecommend(Long id, Boolean switchRequest);

    /**
     * 获取推荐位和资讯列表
     *
     * @return
     */
    Page<CurrentAffairsDetailsVO> getCurrentAffairsRecommendPage(CurrentAffairsTypeDTO currentAffairsTypeDTO);


}
